home *** CD-ROM | disk | FTP | other *** search
- /*
- Define callback routines.
- This file assumes a global ptr "callback" has been set rather
- than passing it as a parameter
-
- The compiler must be set so that type "double" is a SANE 80-bit.
-
- */
-
- #include "xfuns.h"
- #include "callbackg.h"
-
- void AddXfun(char *name,char *parms,funptr entry,funptr predef)
- {
- (*callback)((long)ADDXFUN,name,parms,entry,predef);
- }
-
- void AddFunDim(char *name,long lim)
- {
- (*callback)((long)ADDFUNDIM,name,lim);
- }
-
- void ErrMsg(char *fmt,char *str)
- {
- (*callback)((long)ERRMSG,fmt,str);
- }
-
- void FreeExpr(EXPR xpr)
- {
- (*callback)((long)FREEXPR,xpr);
- }
-
- short EvalExpr(EXPR xpr,double *num)
- {
- return((*callback)((long)EVALEXPR,xpr,num));
- }
-
- short GetExprMatrix(EXPR xpr,double **mat,long *rows,long *cols)
- {
- return((*callback)((long)GETEXPRMATRIX,xpr,mat,rows,cols));
- }
-
- short GetParmVal(long n,double *num)
- {
- return((*callback)((long)GETPARMVAL,(long) n,num));
- }
-
- void MakeParmExpr(long n,EXPR *xpr)
- {
- (*callback)((long)MAKEPARMEXPR,(long) n,xpr);
- }
-
- short ProbeExpr(EXPR xpr,double *num,short *isarray,long *count)
- {
- return((*callback)((long)PROBEXPR,xpr,num,isarray,count));
- }
-
- short GetParmName(long n,char **name)
- {
- return((*callback)((long)GETPARMNAME,(long) n,name));
- }
-
- void AddIndex(EXPR *xpr,double **iptr)
- {
- (*callback)((long)ADDINDEX,xpr,iptr);
- }
-
- void RemoveIndex(EXPR *xpr)
- {
- (*callback)((long)REMOVEINDEX,xpr);
- }
-
- short GetVarVal(char *name,double *num)
- {
- return((*callback)((long)GETVARVAL,name,num));
- }
-
- void MakeVarExpr(char *name,EXPR *xpr)
- {
- (*callback)((long)MAKEVAREXPR,name,xpr);
- }
-
- short SetVarVal(char *name,double num)
- {
- return((*callback)((long)SETVARVAL,name,&num)); /* callback parm must be ptr size */
- }
-
- short SetVarMatrix(char *name,double *arr,long rows,long cols)
- {
- return((*callback)((long)SETVARMATRIX,name,arr,rows,cols));
- }
-
- void FoldVar(char *name,long lim)
- {
- (*callback)((long)FOLDVAR,name,lim);
- }
-
- short Stopped(void)
- {
- return((*callback)((long)STOPPED));
- }
-
- void SpinWatch(void)
- {
- (*callback)((long)SPINWATCH);
- }
-
- void SetPlotPICT(PicHandle thePic )
- {
- (*callback)((long)SETPLOTPICT,thePic);
- }
-
- void SizePlotPICT(double left,double bot,double width,double ht)
- {
- (*callback)((long)SIZEPLOTPICT,&left,&bot,&width,&ht);
- }
-
- void GetVarString(char *name,char **str )
- {
- (*callback)((long)GETVARSTRING,name,str);
- }
-
- void SetCursorRegion(Cursor *curs,RgnHandle inside)
- {
- (*callback)((long)SETCURSORREGION,curs,inside);
- }
-
- void InstallEventHandler(funptr handler)
- {
- (*callback)((long)INSTALLEVENTHANDLER,handler);
- }
-
- short GetDocInfo(long *docref,FSSpec *fspec,WindowPtr *plotwindow)
- {
- (*callback)((long)GETDOCINFO,docref,fspec,plotwindow);
- }
-
- void GetAngleUnits(double *unit)
- {
- (*callback)((long)GETANGLEUNITS,unit);
- }
-
- void GetAxisRect(Rect *axisrect)
- {
- (*callback)((long)GETAXISRECT,axisrect);
- }
-
- short Sprintf(char *buf,char *fmt,double num)
- {
- (*callback)((long)SPRINTF,buf,fmt,&num);
- }
-
- void ReturnVoid(void)
- {
- (*callback)((long)RETURNVOID);
- }
-
- void DoMenuItem(long selector)
- {
- (*callback)((long)DOMENUITEM,selector);
- }
-
- void GetAxisLimits(double *limits)
- {
- (*callback)((long)GETAXISLIMITS,limits);
- }
-
- void GetPlotInfo(double *info)
- {
- (*callback)((long)GETPLOTINFO,info);
- }
-
- void MapData(double x,double y,short *xpixel,short *ypixel)
- {
- (*callback)((long)MAPDATA,&x,&y,xpixel,ypixel);
- }
-
-